package cn.edu.ncut.cs.springboot.petmanagementsystem.pojo;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 宠物健康检测记录表实体类
 */
@Data
@TableName("pet_health_records")
public class PetHealthRecord {

    /**
     * 记录ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 宠物ID
     */
    private Long petId;

    /**
     * 检测日期
     */
    private LocalDate checkDate;

    /**
     * 体重（kg）
     */
    private BigDecimal weight;

    /**
     * 体温（℃）
     */
    private BigDecimal temperature;

    /**
     * 心率
     */
    private Integer heartRate;

    /**
     * 呼吸频率
     */
    private Integer respiratoryRate;

    /**
     * 症状描述
     */
    private String symptoms;

    /**
     * 诊断结果
     */
    private String diagnosis;

    /**
     * 治疗方案
     */
    private String treatment;

    /**
     * 兽医姓名
     */
    private String veterinarian;

    /**
     * 下次检测日期
     */
    private LocalDate nextCheckDate;

    /**
     * 记录类型：常规体检、疫苗接种、疾病治疗、手术、其他
     */
    @TableField(exist = false)
    private String recordType;

    /**
     * 费用（元）
     */
    @TableField(exist = false)
    private BigDecimal cost;

    /**
     * 医院名称
     */
    @TableField(exist = false)
    private String hospital;

    /**
     * 记录描述（综合描述，可选）
     */
    @TableField(exist = false)
    private String description;

    /**
     * 健康状况：1-健康，2-一般，3-需要关注，4-生病
     */
    private Integer healthStatus;

    /**
     * 备注
     */
    private String notes;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime updateTime;
}
